package com.operator.Activitys.view.ninegrid;

import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.util.AttributeSet;
import android.view.View;

import com.nostra13.universalimageloader.core.assist.FailReason;
import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;
import com.operator.Activitys.activity.ViewPictureActivity;
import com.operator.Activitys.utils.Constant;
import com.operator.Activitys.utils.JumperUtils;

import java.util.ArrayList;
import java.util.List;

/**
 * 项目名称：金泽云 手机app
 * 类描述：仿微信朋友圈 九宫格 自定义View
 * 创建人：张飞祥
 * 创建时间：2018/5/24 18:26
 * 修改人：张飞祥
 * 修改时间：2018/5/24 18:26
 * 修改备注：
 */
public class NineGridTestLayout extends NineGridLayout {

    protected static final int MAX_W_H_RATIO = 3;

    public NineGridTestLayout(Context context) {
        super(context);
    }

    public NineGridTestLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected boolean displayOneImage(final RatioImageView imageView, String url, final int parentWidth) {


        //加载图片
        ImageLoaderUtil.displayImage(mContext, imageView, url, ImageLoaderUtil.getPhotoImageOption(), new ImageLoadingListener() {
            @Override
            public void onLoadingStarted(String imageUri, View view) {
            }
            @Override
            public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
            }
            @Override
            public void onLoadingComplete(String imageUri, View view, Bitmap bitmap) {
                //获取 当前 图片 大小，进行 比例 放置
                int w = bitmap.getWidth();
                int h = bitmap.getHeight();

                int newW;
                int newH;
                if (h > w * MAX_W_H_RATIO) {//h:w = 5:3
                    newW = parentWidth / 2;
                    newH = newW * 5 / 3;
                } else if (h < w) {//h:w = 2:3
                    newW = parentWidth * 2 / 3;
                    newH = newW * 2 / 3;
                } else {//newH:h = newW :w
                    newW = parentWidth / 2;
                    newH = h * newW / w;
                }
                setOneImageLayoutParams(imageView, newW, newH);
            }

            @Override
            public void onLoadingCancelled(String imageUri, View view) {

            }
        });
        return false;
    }

    @Override
    protected void displayImage(RatioImageView imageView, String url) {
        //开始加载图片
        ImageLoaderUtil.getImageLoader(mContext).displayImage(url, imageView, ImageLoaderUtil.getPhotoImageOption());
    }

    @Override
    protected void onClickImage(int i, String url, List<String> urlList) {
        //TODO 传递 当前图片 数据
        Bundle bundle = new Bundle();
        //设置 是否可以删除（false：不可以删除、true：可以删除）
        bundle.putBoolean(Constant.INTENT_IMAGE_DELETE_TAG,false);
        //设置 图片标志位
        bundle.putInt(Constant.INTENT_IMAGE_POS,i);
        //设置 图片加载方式 （网络图片）
        bundle.putString(Constant.INTENT_IMAGE_LOAD_TAG, Constant.IMAGE_LOAD_HTTP);
        //设置 图片路径
        bundle.putStringArrayList(Constant.INTENT_IMAGE_URL_LIST, (ArrayList<String>) urlList);
        //跳转 查看图片页面
        JumperUtils.JumpTo((Activity) mContext,ViewPictureActivity.class,bundle);
    }
}
